package com.dasberg.gwt.domain;

import java.io.Serializable;
import java.util.Date;

/**
 * Token interface.
 * @author mischa
 */
public interface IToken extends Serializable {

    /**
     * Gets the unique token id.
     * @return uuid The unique token id.
     */
    public String getUuid();

    /**
     * Gets the creation date.
     * @return creationDate The creation date.
     */
    public Date getCreationDate();

    /**
     * Gets the expiration date.
     * @return expirationDate The expiration date.
     */
    public Date getExpirationDate();

    /**
     * Gets the user.
     * @return user The user.
     */
    public <U extends IUser> U getUser();

}
